//
// Created by lenovo on 2024/1/11.
//

#ifndef CALCULATOR_IMPORT_H
#define CALCULATOR_IMPORT_H

#include "../const/const.h"
#include "../Calc/_Calc_.h"

struct token{
public :
    enum Type{
        LBRACKET ,
        RBRACKET ,
        NUMBER   ,
        OPERATOR ,
        FUNCTION ,
        DOT
    };
    explicit token(Type t) : type(t) {}
    token(Type t , Evaluable* e) : type(t) , base(e) {}
public:
    Type type ;
    Evaluable* base {nullptr};
    token() = default ;
};

extern
void showToken(token* t) ;

#endif //CALCULATOR_IMPORT_H
